package com.wisdomstar.ws.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wisdomstar.ws.domain.Favorites;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author RinMi
 * @since 2023/06/06
 */

@Mapper
public interface FavoritesMapper extends BaseMapper<Favorites> {

    /**
     * 删除收藏夹
     *
     * @param favorites 收藏夹信息
     */
    void removeFavorites(Favorites favorites);

    /**
     * 删除收藏夹
     *
     * @param favorites 收藏夹信息
     * @return 影响行数
     */
    int insertFavorites(Favorites favorites);

    /**
     * 修改收藏夹信息
     *
     * @param favorites 收藏夹信息
     * @return 影响行数
     */
    int updateFavorites(Favorites favorites);

    /**
     * 查询收藏夹信息
     *
     * @param favorites 收藏夹信息
     * @return 收藏夹信息列表
     */
    List<Favorites> listFavorites(Favorites favorites);

    /**
     * 检查收藏夹名称唯一性
     *
     * @param favorites 收藏夹信息
     * @return count
     */
    int checkFavoritesName(Favorites favorites);

    /**
     * 递归获取收藏夹下所有收藏夹id
     *
     * @param favorites 收藏夹信息
     * @return 收藏夹id列表
     */
    List<Long> selectPrimaryKeyRecursion(Favorites favorites);
}